package com.nou.bdm.model;

import java.math.BigDecimal;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

/**
 * <p>
 * 学生基础信息表

学籍异动的学生，相同课程自动抵消原则：学生显示课程成绩只显示总成绩，如果继续学
 * </p>
 *
 * @author yy
 * @since 2021-03-16
 */
public class NouStudentInfoT implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 用户ID
     */
    @TableId("userId")
    private String userId;

    /**
     * 所属院校
     */
    @TableField("schoolId")
    private String schoolId;

    /**
     * 教育类型
     */
    @TableField("educationType")
    private String educationType;

    /**
     * 招生批次标识
     */
    @TableField("enrollmentBatch")
    private String enrollmentBatch;

    /**
     * 教学计划
     */
    @TableField("educationPlanId")
    private String educationPlanId;

    /**
     * 学习中心
     */
    @TableField("collageCenter")
    private String collageCenter;

    /**
     * 身份证号
     */
    private String card;

    /**
     * 考生号
     */
    @TableField("examineeNumber")
    private String examineeNumber;

    /**
     * 准考证号
     */
    @TableField("examinationNumber")
    private String examinationNumber;

    /**
     * 学号
     */
    @TableField("studentNumber")
    private String studentNumber;

    /**
     * 学号生成规则（一个专业的学生应该是一个生成规则，学号生成是按这个维度查）
     */
    @TableField("ruleId")
    private String ruleId;

    /**
     * 姓名
     */
    @TableField("studentName")
    private String studentName;

    /**
     * 专业Id
     */
    @TableField("specId")
    private String specId;

    /**
     * 层次编码
     */
    @TableField("educationLevel")
    private String educationLevel;

    /**
     * 学制
     */
    @TableField("schoolSystem")
    private String schoolSystem;

    /**
     * 学习形式
     */
    @TableField("studyMethod")
    private String studyMethod;

    /**
     * 入学日期
     */
    @TableField("entranceDate")
    private LocalDate entranceDate;

    /**
     * 预毕业日期
     */
    @TableField("preGraducationDate")
    private LocalDate preGraducationDate;

    /**
     * 学籍状态（0 未注册 1 正常 2 注销 3 保留学籍 4 毕业（不在籍））
     */
    @TableField("schoolRecordsState")
    private String schoolRecordsState;

    /**
     * 学籍注册日期
     */
    @TableField("schoolRecordsRegisterTime")
    private LocalDate schoolRecordsRegisterTime;

    /**
     * 学籍注销时间
     */
    @TableField("schooleRecordsCancelTime")
    private LocalDate schooleRecordsCancelTime;

    /**
     * 是否退学（0是 1否 ）
     */
    @TableField("ifLeave")
    private String ifLeave;

    /**
     * 退学时间
     */
    @TableField("leaveSchoolTime")
    private LocalDate leaveSchoolTime;

    /**
     * 生源省市代码
     */
    @TableField("sourceCode")
    private String sourceCode;

    /**
     * 出生日期
     */
    @TableField("birthDate")
    private LocalDate birthDate;

    /**
     * 政治面貌
     */
    @TableField("foliticalOutlook")
    private String foliticalOutlook;

    /**
     * 民族
     */
    private String nation;

    /**
     * 总分
     */
    @TableField("totalScore")
    private BigDecimal totalScore;

    /**
     * 录取年份
     */
    @TableField("admissionYear")
    private String admissionYear;

    /**
     * 毕业照片
     */
    @TableField("admissionPhoto")
    private String admissionPhoto;

    /**
     * 学籍照片
     */
    @TableField("studentPhoto")
    private String studentPhoto;

    /**
     * 违纪情况（0 有 1 无）
     */
    @TableField("ifPrinciple")
    private String ifPrinciple;

    /**
     * 毕业结果（0 否 1 是）
     */
    @TableField("ifGradute")
    private String ifGradute;

    /**
     * 毕业证号
     */
    @TableField("graduteNumber")
    private String graduteNumber;

    /**
     * 毕业日期
     */
    @TableField("graduteDate")
    private LocalDate graduteDate;

    /**
     * 学位结果（0 否 1 是）
     */
    @TableField("ifDegree")
    private String ifDegree;

    /**
     * 学位证号
     */
    @TableField("degreeNumber")
    private String degreeNumber;

    /**
     * 创建时间
     */
    @TableField("createTime")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField("modifyTime")
    private LocalDateTime modifyTime;

    /**
     * 备注
     */
    private String note;

    /**
     * 是否异动
     */
    @TableField("ifUnusual")
    private String ifUnusual;

    /**
     * 获取学位时间
     */
    @TableField("degreeDate")
    private LocalDate degreeDate;

    /**
     * 最高毕业年限
     */
    @TableField("maxGraduation")
    private String maxGraduation;


    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    public String getEducationType() {
        return educationType;
    }

    public void setEducationType(String educationType) {
        this.educationType = educationType;
    }

    public String getEnrollmentBatch() {
        return enrollmentBatch;
    }

    public void setEnrollmentBatch(String enrollmentBatch) {
        this.enrollmentBatch = enrollmentBatch;
    }

    public String getEducationPlanId() {
        return educationPlanId;
    }

    public void setEducationPlanId(String educationPlanId) {
        this.educationPlanId = educationPlanId;
    }

    public String getCollageCenter() {
        return collageCenter;
    }

    public void setCollageCenter(String collageCenter) {
        this.collageCenter = collageCenter;
    }

    public String getCard() {
        return card;
    }

    public void setCard(String card) {
        this.card = card;
    }

    public String getExamineeNumber() {
        return examineeNumber;
    }

    public void setExamineeNumber(String examineeNumber) {
        this.examineeNumber = examineeNumber;
    }

    public String getExaminationNumber() {
        return examinationNumber;
    }

    public void setExaminationNumber(String examinationNumber) {
        this.examinationNumber = examinationNumber;
    }

    public String getStudentNumber() {
        return studentNumber;
    }

    public void setStudentNumber(String studentNumber) {
        this.studentNumber = studentNumber;
    }

    public String getRuleId() {
        return ruleId;
    }

    public void setRuleId(String ruleId) {
        this.ruleId = ruleId;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public String getSpecId() {
        return specId;
    }

    public void setSpecId(String specId) {
        this.specId = specId;
    }

    public String getEducationLevel() {
        return educationLevel;
    }

    public void setEducationLevel(String educationLevel) {
        this.educationLevel = educationLevel;
    }

    public String getSchoolSystem() {
        return schoolSystem;
    }

    public void setSchoolSystem(String schoolSystem) {
        this.schoolSystem = schoolSystem;
    }

    public String getStudyMethod() {
        return studyMethod;
    }

    public void setStudyMethod(String studyMethod) {
        this.studyMethod = studyMethod;
    }

    public LocalDate getEntranceDate() {
        return entranceDate;
    }

    public void setEntranceDate(LocalDate entranceDate) {
        this.entranceDate = entranceDate;
    }

    public LocalDate getPreGraducationDate() {
        return preGraducationDate;
    }

    public void setPreGraducationDate(LocalDate preGraducationDate) {
        this.preGraducationDate = preGraducationDate;
    }

    public String getSchoolRecordsState() {
        return schoolRecordsState;
    }

    public void setSchoolRecordsState(String schoolRecordsState) {
        this.schoolRecordsState = schoolRecordsState;
    }

    public LocalDate getSchoolRecordsRegisterTime() {
        return schoolRecordsRegisterTime;
    }

    public void setSchoolRecordsRegisterTime(LocalDate schoolRecordsRegisterTime) {
        this.schoolRecordsRegisterTime = schoolRecordsRegisterTime;
    }

    public LocalDate getSchooleRecordsCancelTime() {
        return schooleRecordsCancelTime;
    }

    public void setSchooleRecordsCancelTime(LocalDate schooleRecordsCancelTime) {
        this.schooleRecordsCancelTime = schooleRecordsCancelTime;
    }

    public String getIfLeave() {
        return ifLeave;
    }

    public void setIfLeave(String ifLeave) {
        this.ifLeave = ifLeave;
    }

    public LocalDate getLeaveSchoolTime() {
        return leaveSchoolTime;
    }

    public void setLeaveSchoolTime(LocalDate leaveSchoolTime) {
        this.leaveSchoolTime = leaveSchoolTime;
    }

    public String getSourceCode() {
        return sourceCode;
    }

    public void setSourceCode(String sourceCode) {
        this.sourceCode = sourceCode;
    }

    public LocalDate getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(LocalDate birthDate) {
        this.birthDate = birthDate;
    }

    public String getFoliticalOutlook() {
        return foliticalOutlook;
    }

    public void setFoliticalOutlook(String foliticalOutlook) {
        this.foliticalOutlook = foliticalOutlook;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public BigDecimal getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(BigDecimal totalScore) {
        this.totalScore = totalScore;
    }

    public String getAdmissionYear() {
        return admissionYear;
    }

    public void setAdmissionYear(String admissionYear) {
        this.admissionYear = admissionYear;
    }

    public String getAdmissionPhoto() {
        return admissionPhoto;
    }

    public void setAdmissionPhoto(String admissionPhoto) {
        this.admissionPhoto = admissionPhoto;
    }

    public String getStudentPhoto() {
        return studentPhoto;
    }

    public void setStudentPhoto(String studentPhoto) {
        this.studentPhoto = studentPhoto;
    }

    public String getIfPrinciple() {
        return ifPrinciple;
    }

    public void setIfPrinciple(String ifPrinciple) {
        this.ifPrinciple = ifPrinciple;
    }

    public String getIfGradute() {
        return ifGradute;
    }

    public void setIfGradute(String ifGradute) {
        this.ifGradute = ifGradute;
    }

    public String getGraduteNumber() {
        return graduteNumber;
    }

    public void setGraduteNumber(String graduteNumber) {
        this.graduteNumber = graduteNumber;
    }

    public LocalDate getGraduteDate() {
        return graduteDate;
    }

    public void setGraduteDate(LocalDate graduteDate) {
        this.graduteDate = graduteDate;
    }

    public String getIfDegree() {
        return ifDegree;
    }

    public void setIfDegree(String ifDegree) {
        this.ifDegree = ifDegree;
    }

    public String getDegreeNumber() {
        return degreeNumber;
    }

    public void setDegreeNumber(String degreeNumber) {
        this.degreeNumber = degreeNumber;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(LocalDateTime modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getIfUnusual() {
        return ifUnusual;
    }

    public void setIfUnusual(String ifUnusual) {
        this.ifUnusual = ifUnusual;
    }

    public LocalDate getDegreeDate() {
        return degreeDate;
    }

    public void setDegreeDate(LocalDate degreeDate) {
        this.degreeDate = degreeDate;
    }

    public String getMaxGraduation() {
        return maxGraduation;
    }

    public void setMaxGraduation(String maxGraduation) {
        this.maxGraduation = maxGraduation;
    }

    @Override
    public String toString() {
        return "NouStudentInfoT{" +
        "userId=" + userId +
        ", schoolId=" + schoolId +
        ", educationType=" + educationType +
        ", enrollmentBatch=" + enrollmentBatch +
        ", educationPlanId=" + educationPlanId +
        ", collageCenter=" + collageCenter +
        ", card=" + card +
        ", examineeNumber=" + examineeNumber +
        ", examinationNumber=" + examinationNumber +
        ", studentNumber=" + studentNumber +
        ", ruleId=" + ruleId +
        ", studentName=" + studentName +
        ", specId=" + specId +
        ", educationLevel=" + educationLevel +
        ", schoolSystem=" + schoolSystem +
        ", studyMethod=" + studyMethod +
        ", entranceDate=" + entranceDate +
        ", preGraducationDate=" + preGraducationDate +
        ", schoolRecordsState=" + schoolRecordsState +
        ", schoolRecordsRegisterTime=" + schoolRecordsRegisterTime +
        ", schooleRecordsCancelTime=" + schooleRecordsCancelTime +
        ", ifLeave=" + ifLeave +
        ", leaveSchoolTime=" + leaveSchoolTime +
        ", sourceCode=" + sourceCode +
        ", birthDate=" + birthDate +
        ", foliticalOutlook=" + foliticalOutlook +
        ", nation=" + nation +
        ", totalScore=" + totalScore +
        ", admissionYear=" + admissionYear +
        ", admissionPhoto=" + admissionPhoto +
        ", studentPhoto=" + studentPhoto +
        ", ifPrinciple=" + ifPrinciple +
        ", ifGradute=" + ifGradute +
        ", graduteNumber=" + graduteNumber +
        ", graduteDate=" + graduteDate +
        ", ifDegree=" + ifDegree +
        ", degreeNumber=" + degreeNumber +
        ", createTime=" + createTime +
        ", modifyTime=" + modifyTime +
        ", note=" + note +
        ", ifUnusual=" + ifUnusual +
        ", degreeDate=" + degreeDate +
        ", maxGraduation=" + maxGraduation +
        "}";
    }
}
